/* ============================================================
   Behandlingsnett Commerce v5.0 – ptc-v11.css
   Nytt konverteringsfokusert bestillingsskjema (.ptc-v2),
   nettside-salgsboks (.ptc-web) og kvittering (.ptc-receipt).
   Mobil-først, designet mot bnett-tokens med trygge fallbacks.
   ============================================================ */

.ptc-v2,
.ptc-v2 *{ box-sizing:border-box; }
/* hidden-attributtet skal alltid vinne over display-regler under */
.ptc-v2 [hidden]{ display:none !important; }

/* ------------------------------------------------------------
   Skjerming mot temaets globale knappestil (v5.1.1)
   ------------------------------------------------------------
   Elementor Kit setter `.elementor-kit-XXXX button { background-color;
   color; padding; border-radius; font-* }`. Den selektoren har
   spesifisitet 0-1-1 og slår derfor enkle klasseselektorer (0-1-0).
   Uten skjerming ble hele skjemaet – kategorivelger, planvalg og CTA –
   marineblått, og den valgte kategorien fikk hvit tekst på lys bakgrunn.

   To grep, som må stå sammen:
   1) Nullstillingen under fanger alle knapper i skjemaet, også dem vi
      ikke har gitt en egen klasse.
   2) Alle .ptc-v2__* / .ptc-web__* / .ptc-receipt__*-regler er prefikset
      med sin egen rot (0-2-0). Den vinner alltid over temaets 0-1-1,
      uansett hvilken rekkefølge stilarkene lastes i – så dette holder
      også hvis cache-plugin eller Elementor endrer lasterekkefølgen.
   ------------------------------------------------------------ */
.ptc-v2 button,
.ptc-web button,
.ptc-receipt button{
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
  background-image:none;
  color:inherit;
  border:0;
  margin:0;
  padding:0;
  border-radius:0;
  font:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  text-transform:none;
  text-shadow:none;
  box-shadow:none;
  line-height:1.45;
  min-height:0;
  width:auto;
}
.ptc-v2 button:hover,
.ptc-v2 button:focus,
.ptc-web button:hover,
.ptc-web button:focus,
.ptc-receipt button:hover,
.ptc-receipt button:focus{
  background:transparent;
  background-image:none;
  color:inherit;
  box-shadow:none;
}
/* Synlig tastaturfokus – nullstillingen over fjerner temaets egen ring. */
.ptc-v2 button:focus-visible,
.ptc-web button:focus-visible,
.ptc-receipt button:focus-visible{
  outline:2px solid var(--p2-green, #388051);
  outline-offset:2px;
}

/* Nullstillingen over er 0-1-1 og taper mot temaet hvis temaets stilark
   skulle bli lastet SIST (f.eks. hvis en cache-plugin slår sammen CSS i en
   annen rekkefølge). Denne listen er 0-2-0 og vinner alltid. Den står
   bevisst FØR komponentreglene, slik at hver knapp kan sette sin egen
   radius og padding etterpå. Alle knappene i skjemaet er med her. */
.ptc-v2 .ptc-v2__catSelected,
.ptc-v2 .ptc-v2__catOpt,
.ptc-v2 .ptc-v2__plan,
.ptc-v2 .ptc-v2__moreToggle,
.ptc-v2 .ptc-v2__discountToggle,
.ptc-v2 .ptc-v2__btnGhost,
.ptc-v2 .ptc-v2__cta{
  font-weight:inherit;
  letter-spacing:normal;
  word-spacing:normal;
  text-transform:none;
  text-shadow:none;
  line-height:1.45;
  border-radius:0;
  border:0;
  margin:0;
  min-height:0;
}

.ptc-v2{
  --p2-green:#388051;      /* knappegrønn: WCAG AA mot hvit (4.80:1) */
  --p2-green-dark:#2f7048;
  --p2-accent:#3e8e5a;     /* lysere aksent for kanter/ikoner */
  --p2-pine:#16352b;
  --p2-ink:#14241d;
  --p2-muted:#5a6b62;
  --p2-soft:#f4f6f4;
  --p2-sage:#e8efe6;
  --p2-line:#e6e8e6;
  --p2-radius:5px;
  max-width:640px;
  margin:0 auto;
  color:var(--p2-ink);
  font-family:var(--bnett-font-body, "Inter", -apple-system, system-ui, sans-serif);
  line-height:1.45;
}
.ptc-v2 .ptc-v2__card{
  background:#fff;
  border:1px solid var(--p2-line);
  border-radius:6px;
  box-shadow:none;
  padding:26px 22px;
}
@media (min-width:640px){
  .ptc-v2 .ptc-v2__card{ padding:34px 34px; }
}

/* ---- Header + trust ---- */
.ptc-v2 .ptc-v2__head{ margin-bottom:20px; }
.ptc-v2 .ptc-v2__title{
  margin:0 0 10px;
  font-family:var(--bnett-font-head, inherit);
  font-size:clamp(1.45rem, 3.6vw, 1.85rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--p2-pine);
}
.ptc-v2 .ptc-v2__trust{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px 16px;
}
.ptc-v2 .ptc-v2__trust li{
  position:relative;
  padding-left:20px;
  font-size:13.5px;
  color:var(--p2-muted);
}
.ptc-v2 .ptc-v2__trust li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--p2-green);
  font-weight:700;
}

/* ---- Seksjoner ---- */
.ptc-v2 .ptc-v2__section{ margin:20px 0; }
.ptc-v2 .ptc-v2__label{
  font-weight:700;
  font-size:14px;
  margin-bottom:8px;
  color:var(--p2-pine);
}

/* ---- Kategori ---- */
.ptc-v2 .ptc-v2__catPicker{ position:relative; }
.ptc-v2 .ptc-v2__catSelected{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--p2-soft);
  border:1.5px solid var(--p2-sage);
  border-radius:var(--p2-radius);
  padding:14px 16px;
  font-size:16px;
  cursor:pointer;
  font-family:inherit;
  color:inherit;
  text-align:left;
}
.ptc-v2 .ptc-v2__catSelected strong{ font-weight:700; }
.ptc-v2 .ptc-v2__catChange{
  font-size:13px;
  color:var(--p2-green-dark);
  white-space:nowrap;
}
.ptc-v2 .ptc-v2__catList{
  margin-top:8px;
  border:1px solid var(--p2-line);
  border-radius:var(--p2-radius);
  overflow:hidden;
  max-height:320px;
  overflow-y:auto;
  background:#fff;
  box-shadow:none;
  scrollbar-width:thin;
  scrollbar-color:var(--p2-sage) transparent;
}
.ptc-v2 .ptc-v2__catList::-webkit-scrollbar{ width:10px; }
.ptc-v2 .ptc-v2__catList::-webkit-scrollbar-track{ background:transparent; }
.ptc-v2 .ptc-v2__catList::-webkit-scrollbar-thumb{
  background:var(--p2-sage);
  border-radius:999px;
  border:3px solid #fff;
}
.ptc-v2 .ptc-v2__catList::-webkit-scrollbar-thumb:hover{ background:#cfe1c4; }
.ptc-v2 .ptc-v2__catOpt{
  width:100%;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  background:#fff;
  border:0;
  border-bottom:1px solid rgba(20,36,29,.06);
  cursor:pointer;
  font-family:inherit;
  font-size:15px;
  color:inherit;
  text-align:left;
}
.ptc-v2 .ptc-v2__catOpt:last-child{ border-bottom:0; }
.ptc-v2 .ptc-v2__catOpt:hover{ background:var(--p2-soft); }
/* Valgt kategori: grønn markering i stedet for bare lys bakgrunn, slik at
   den leses tydelig også når raden er den eneste lyse i en lang liste. */
.ptc-v2 .ptc-v2__catOpt.is-selected{
  background:var(--p2-soft);
  font-weight:600;
  color:var(--p2-green-dark);
  box-shadow:inset 3px 0 0 var(--p2-green);
}
.ptc-v2 .ptc-v2__catOpt.is-selected span{ color:var(--p2-green-dark); }
.ptc-v2 .ptc-v2__catOpt span{ font-size:12.5px; color:var(--p2-muted); white-space:nowrap; }

/* ---- Planer ---- */
.ptc-v2 .ptc-v2__plans{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
@media (min-width:560px){
  .ptc-v2 .ptc-v2__plans{ grid-template-columns:1fr 1fr; }
}
.ptc-v2 .ptc-v2__plan{
  position:relative;
  text-align:left;
  background:#fff;
  border:1.5px solid var(--p2-line);
  border-radius:var(--p2-radius);
  padding:16px;
  cursor:pointer;
  font-family:inherit;
  color:inherit;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.ptc-v2 .ptc-v2__plan:hover{ border-color:var(--p2-green); }
.ptc-v2 .ptc-v2__plan.is-selected{
  border-color:var(--p2-green);
  box-shadow:0 0 0 3px rgba(62,142,90,.18);
  background:linear-gradient(135deg, #fff 60%, var(--p2-soft));
}
.ptc-v2 .ptc-v2__plan.is-selected::after{
  content:"✓";
  position:absolute;
  top:12px;
  right:12px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--p2-green);
  color:#fff;
  font-size:13px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ptc-v2 .ptc-v2__planHead{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:6px;
  padding-right:26px;
}
.ptc-v2 .ptc-v2__planName{
  font-weight:800;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.ptc-v2 .ptc-v2__planBadge{
  font-size:11px;
  font-weight:700;
  padding:3px 9px;
  border-radius:4px;
  background:var(--p2-sage);
  color:var(--p2-green-dark);
  white-space:nowrap;
}
.ptc-v2 .ptc-v2__planBadge--trial{
  background:#dcfce7;
  color:#166534;
}
.ptc-v2 .ptc-v2__planPrice{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--p2-pine);
  margin-bottom:8px;
}
.ptc-v2 .ptc-v2__per{
  font-size:14px;
  font-weight:500;
  color:var(--p2-muted);
  letter-spacing:0;
}
.ptc-v2 .ptc-v2__planList{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ptc-v2 .ptc-v2__planList li{
  position:relative;
  padding-left:18px;
  font-size:13.5px;
  color:var(--p2-muted);
}
.ptc-v2 .ptc-v2__planList li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--p2-green);
  font-weight:700;
  font-size:12px;
}

/* ---- Checkbokser (trial + nettside) ---- */
.ptc-v2 .ptc-v2__trial{
  margin-top:12px;
  border:1.5px dashed rgba(34,197,94,.55);
  background:linear-gradient(135deg, #f0fdf4, #fff);
  border-radius:5px;
  padding:13px 15px;
}
.ptc-v2 .ptc-v2__website{
  border:1px solid var(--p2-line);
  background:#fafbf9;
  border-radius:5px;
  padding:13px 15px;
}
.ptc-v2 .ptc-v2__check{
  display:flex;
  align-items:flex-start;
  gap:11px;
  cursor:pointer;
  margin:0;
  font-size:14px;
  line-height:1.5;
}
.ptc-v2 .ptc-v2__check input{
  width:19px;
  height:19px;
  margin-top:2px;
  accent-color:#16a34a;
  cursor:pointer;
  flex:0 0 auto;
}
.ptc-v2 .ptc-v2__check strong{ color:var(--p2-pine); }

/* ---- Felter ---- */
.ptc-v2 .ptc-v2__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width:560px){
  .ptc-v2 .ptc-v2__fields{ grid-template-columns:1fr 1fr; }
}
.ptc-v2 .ptc-v2__field label{
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:5px;
  color:var(--p2-pine);
}
.ptc-v2 .ptc-v2__field input,
.ptc-v2 .ptc-v2__field textarea{
  width:100%;
  border:1.5px solid var(--p2-line);
  border-radius:4px;
  padding:12px 14px;
  font-size:16px; /* >=16px: hindrer zoom på iOS */
  font-family:inherit;
  color:inherit;
  background:#fff;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.ptc-v2 .ptc-v2__field input:focus,
.ptc-v2 .ptc-v2__field textarea:focus{
  outline:none;
  border-color:var(--p2-green);
  box-shadow:0 0 0 3px rgba(62,142,90,.15);
}
.ptc-v2 .ptc-v2__field input.is-missing,
.ptc-v2 .ptc-v2__field textarea.is-missing{
  border-color:#dc2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.12);
}
.ptc-v2 .ptc-v2__moreToggle,
.ptc-v2 .ptc-v2__discountToggle{
  background:none;
  border:0;
  padding:0;
  margin-top:12px;
  font-size:13.5px;
  color:var(--p2-green-dark);
  cursor:pointer;
  font-family:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ptc-v2 .ptc-v2__more{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* ---- Rabatt ---- */
.ptc-v2 .ptc-v2__discount{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ptc-v2 .ptc-v2__discountInput{
  flex:1 1 140px;
  border:1.5px solid var(--p2-line);
  border-radius:12px;
  padding:10px 13px;
  font-size:15px;
  font-family:inherit;
}
.ptc-v2 .ptc-v2__btnGhost{
  border:1.5px solid var(--p2-line);
  background:#fff;
  border-radius:4px;
  padding:10px 16px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  color:var(--p2-pine);
}
.ptc-v2 .ptc-v2__discountHint{
  flex-basis:100%;
  font-size:13px;
  color:var(--p2-green-dark);
}

/* ---- CTA ---- */
.ptc-v2 .ptc-v2__ctaWrap{ margin-top:22px; }
.ptc-v2 .ptc-v2__cta{
  width:100%;
  border:0;
  border-radius:4px;
  background:var(--p2-green);
  color:#fff;
  padding:17px 24px;
  cursor:pointer;
  font-family:inherit;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  box-shadow:0 14px 30px -12px rgba(47,112,72,.55);
  transition:transform .12s ease, background .12s ease;
}
.ptc-v2 .ptc-v2__cta:hover{ background:var(--p2-green-dark); transform:translateY(-1px); }
.ptc-v2 .ptc-v2__cta:disabled{ opacity:.65; cursor:wait; transform:none; }
.ptc-v2 .ptc-v2__ctaMain{
  font-size:17px;
  font-weight:800;
  letter-spacing:-.01em;
}
.ptc-v2 .ptc-v2__ctaSub{
  font-size:12.5px;
  opacity:.9;
  font-weight:500;
}
.ptc-v2 .ptc-v2__afterNote{
  margin-top:10px;
  text-align:center;
  font-size:13px;
  color:#166534;
  background:#f0fdf4;
  border-radius:4px;
  padding:9px 12px;
}
.ptc-v2 .ptc-v2__fineprint{
  margin-top:10px;
  text-align:center;
  font-size:12.5px;
  color:var(--p2-muted);
}
.ptc-v2 .ptc-v2__status{
  margin-top:10px;
  text-align:center;
  font-size:14px;
  min-height:1.4em;
  color:var(--p2-pine);
}
.ptc-v2 .ptc-v2__status.is-error{ color:#b91c1c; font-weight:600; }

/* ============================================================
   Nettside-salgsboks [bnett_nettside_tilbud]
   ============================================================ */
.ptc-web,
.ptc-web *{ box-sizing:border-box; }
.ptc-web{
  max-width:920px;
  margin:0 auto;
  font-family:var(--bnett-font-body, "Inter", -apple-system, system-ui, sans-serif);
}
/* v5.1 – lys variant (matcher det nye lyse designet) */
.ptc-web .ptc-web__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  background:linear-gradient(135deg, #f4f9f0 0%, #eef5e9 100%);
  border:1px solid #e4efdc;
  border-left:4px solid #3e8e5a;
  color:#14241d;
  border-radius:22px;
  padding:28px 30px;
  box-shadow:0 2px 6px -2px rgba(16,40,30,.08), 0 14px 30px -18px rgba(16,40,30,.22);
}
.ptc-web .ptc-web__eyebrow{
  font-size:12.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#2f7048;
  margin-bottom:6px;
}
.ptc-web .ptc-web__title{
  margin:0 0 12px;
  font-family:var(--bnett-font-head, inherit);
  font-size:clamp(1.25rem, 3vw, 1.6rem);
  line-height:1.2;
  color:#16352b;
  letter-spacing:-.02em;
}
.ptc-web .ptc-web__title strong{ color:#2f7048; }
.ptc-web .ptc-web__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ptc-web .ptc-web__list li{
  position:relative;
  padding-left:22px;
  font-size:14px;
  color:#4a5c52;
}
.ptc-web .ptc-web__list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#3e8e5a;
  font-weight:700;
}
.ptc-web .ptc-web__ctaCol{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
a.ptc-web__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#388051;
  color:#fff;
  border-radius:999px;
  padding:14px 26px;
  font-weight:700;
  font-size:15px;
  text-decoration:none;
  box-shadow:0 10px 22px -12px rgba(62,142,90,.9);
  transition:transform .12s ease, background .12s ease;
  white-space:nowrap;
}
a.ptc-web__cta:hover{ transform:translateY(-1px); text-decoration:none; background:#2f7048; color:#fff; }
.ptc-web .ptc-web__ctaSub{ font-size:12.5px; color:#5a6b62; }
@media (max-width:640px){
  .ptc-web .ptc-web__inner{ padding:22px 20px; }
  .ptc-web .ptc-web__ctaCol{ width:100%; align-items:stretch; }
  a.ptc-web__cta{ width:100%; }
}

/* ============================================================
   Kvittering (uendret utseende fra v10)
   ============================================================ */
.ptc-receipt{max-width:980px;margin:0 auto;font-family:var(--bnett-font-body, "Inter", -apple-system, system-ui, sans-serif)}
.ptc-receipt .ptc-receipt__card{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:24px;box-shadow:0 16px 50px rgba(15,23,42,.06);padding:22px}
.ptc-receipt .ptc-receipt__top{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.ptc-receipt .ptc-receipt__title{margin:0;font-size:28px;line-height:1.15}
.ptc-receipt .ptc-receipt__meta{opacity:.8}
.ptc-receipt .ptc-receipt__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
@media (max-width:860px){.ptc-receipt__grid{grid-template-columns:1fr}}
.ptc-receipt .ptc-receipt__box{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.18);border-radius:20px;padding:16px}
.ptc-receipt .ptc-receipt__box h3{margin:0 0 10px;font-size:16px}
.ptc-receipt .ptc-receipt__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ptc-receipt .ptc-receipt__list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ptc-receipt .ptc-receipt__list li span{opacity:.78}
.ptc-receipt .ptc-receipt__total{border-top:1px dashed rgba(15,23,42,.18);padding-top:10px;margin-top:6px}
.ptc-receipt .ptc-receipt__note{margin-top:10px;opacity:.85;font-size:13px}
.ptc-receipt .ptc-receipt__next{margin-top:16px}
.ptc-receipt .ptc-receipt__next h3{margin:0 0 8px;font-size:16px}
.ptc-receipt .ptc-receipt__steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.ptc-receipt .ptc-receipt__fineprint{margin-top:10px;font-size:13px;opacity:.8}
